package com.xoa.controller.easyReport;


import com.xoa.model.easyReport.RepField;
import com.xoa.model.easyReport.RepTable;
import com.xoa.service.easyReport.RepFieldService;
import com.xoa.util.ToJson;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletRequest;

/**
 * 创建人: liujian
 * 创建时间: 2020/2/5
 * 描述:报表字段
 */
@Controller
@RequestMapping("/repField")
public class repFieldController {

    @Autowired
    RepFieldService repFieldService;


    //  设计表单页面
    @RequestMapping("/epidemic")
    public String  epidemic(HttpServletRequest request){
        return "app/dataReport/epidemic";
    }

    //  汇总查询页面
    @RequestMapping("/dataSummary")
    public String  dataSummary(HttpServletRequest request){
        return "app/dataReport/dataSummary";
    }


    /**
     * 创建人: liujian
     * 创建时间: 2020/2/5
     * 描述: 添加一个字段
     * 参数: [request, repTable]
     * 返回值: com.xoa.util.ToJson<com.xoa.model.easyReport.RepTable>
     */
    @ResponseBody
    @RequestMapping("/inserRepField")
    public ToJson<RepField> inserRepField(RepField repField) {
        return repFieldService.inserRepField(repField);
    }


    /**
     * 创建人: liujian
     * 创建时间: 2020/5/27
     * 描述: 导入报表字段
     * 参数: [request, RepField]
     * 返回值: com.xoa.util.ToJson<com.xoa.model.easyReport.RepField>
     */
    @ResponseBody
    @RequestMapping("/importField")
    public ToJson<RepField> importField(MultipartFile file, Integer repTableId) {
        return repFieldService.importField(file,repTableId);
    }


    /**
     * 创建人: liujian
     * 创建时间: 2020/2/5
     * 描述: 修改一个字段
     * 参数: [repField]
     * 返回值: com.xoa.util.ToJson<com.xoa.model.easyReport.RepField>
     */
    @ResponseBody
    @RequestMapping("/updateRepField")
    public ToJson<RepField> updateRepField(RepField repField) {
        return repFieldService.updateRepField(repField);
    }

    /**
     * 创建人: liujian
     * 创建时间: 2020/2/5
     * 描述: 删除字段
     * 参数: [fieldId]
     * 返回值: com.xoa.util.ToJson<com.xoa.model.easyReport.RepField>
     */
    @ResponseBody
    @RequestMapping("/deleteRepField")
    public ToJson<RepField> deleteRepField(Integer fieldId) {
        return repFieldService.deleteRepField(fieldId);
    }

    /**
     * 创建人: liujian
     * 创建时间: 2020/2/6
     * 描述: 查询字段
     * 参数: [request, map]
     * 返回值: com.xoa.util.ToJson<com.xoa.model.easyReport.RepField>
     */
    @ResponseBody
    @RequestMapping("/findRepField")
    public ToJson<RepField> findRepField(RepField repField) {
        return repFieldService.findRepField(repField);
    }

    /**
     * 创建人: liujian
     * 创建时间: 2020/2/6
     * 描述: 查询字段
     * 参数: [request, map]
     * 返回值: com.xoa.util.ToJson<com.xoa.model.easyReport.RepField>
     */
    @ResponseBody
    @RequestMapping("/getFieldByFieldId")
    public ToJson<RepField> findRepField(Integer fieldId) {
        return repFieldService.getFieldByFieldId(fieldId);
    }

    /**
     * 创建人: liujian
     * 创建时间: 2020/2/6
     * 描述: 根据报表ID查询所有字段 type = 1 返回值分组
     * 参数: [request, map]
     * 返回值: com.xoa.util.ToJson<com.xoa.model.easyReport.RepField>
     */
    @ResponseBody
    @RequestMapping("/getFieldByTableId")
    public ToJson<RepTable> getFieldByTableId(Integer tableId,Integer type) {
        return repFieldService.getFieldByTableId(tableId,type);
    }

}
